package structural.bridge;

/**
 * @ClassName: MainTest
 * @Description: 测试类
 * @Author: liu-hao
 * @Date: 2023-04-11 16:47
 * @Version: 1.0
 **/
public class MainTest {
    /**
     * 在上面的示例代码中，我们定义了一个抽象的Shape类和一个Color接口。我们采用组合的方式，将Shape类与Color接口结合在一起。此外，我们还定义了两种颜色：红色和蓝色，这些颜色实现了Color接口。Circle和Square类是具体的形状实现，它们都有对应的颜色(Color)。最后，我们通过Client类创建形状并为其分配颜色。
     *
     * 桥接模式通过将抽象部分与实现部分分离开来，从而使它们可以独立变化。这样在实现上的任何改变都不会影响到抽象部分，而抽象部分的改变也不会影响到任何实现。
     * @param args
     */
    public static void main(String[] args) {
        Color red = new Red();
        Shape circle = new Circle(red);
        circle.draw();

        Color blue = new Blue();
        Shape square = new Square(blue);
        square.draw();
    }
}
